package com.ruoyi.common.enums;

/**
 * 活动状态枚举
 * 
 * @author xukai
 */
public enum EventStatusEnum {
    
    /**
     * 未开始报名
     */
    NOT_STARTED_SIGNUP(1L, "未开始报名"),
    
    /**
     * 报名中
     */
    SIGNUP_IN_PROGRESS(2L, "报名中"),
    
    /**
     * 等待活动开始
     */
    WAITING_EVENT_START(3L, "等待活动开始"),
    
    /**
     * 活动进行中
     */
    EVENT_IN_PROGRESS(4L, "活动进行中"),
    
    /**
     * 活动已结束
     */
    EVENT_ENDED(5L, "活动已结束");
    
    private final Long code;
    private final String info;
    
    EventStatusEnum(Long code, String info) {
        this.code = code;
        this.info = info;
    }
    
    /**
     * 获取状态码
     */
    public Long getCode() {
        return code;
    }
    
    /**
     * 获取状态信息
     */
    public String getInfo() {
        return info;
    }
    
    /**
     * 根据状态码获取枚举
     */
    public static EventStatusEnum getByCode(Long code) {
        if (code == null) {
            return null;
        }
        for (EventStatusEnum status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;
    }
} 